package com.junzhiit.nengji.shop.model;

import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.bainaeco.framework.base.model.BaseModel;
import com.bainaeco.framework.util.DateUtil;
import com.bainaeco.framework.util.serializer.CustomDateSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

public class Coupons extends BaseModel {

	private static final long serialVersionUID = 3390318873715797944L;

	private String shopId;

	private String name;

	private Integer type;

	private Integer isOpenRandom;

	private Double price;

	private Double startPrice;

	private Double endPrice;

	private Double discount;

	private Integer threshold;

	private Double fullPriceReduction;

	private Integer validTimeState;
	
	@DateTimeFormat(pattern = DateUtil.DATE_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializer.class)
	private Date validStartTime;
	
	@DateTimeFormat(pattern = DateUtil.DATE_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializer.class)
	private Date validEndTime;

	private Integer validDays;

	private Integer isOpenRemind;
	
	@DateTimeFormat(pattern = DateUtil.DATE_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializer.class)
	private Date underTime;

	private String introduce;

	private Integer status;
	
	private Integer platform;
	
	private Integer grantType;
	
	private Double  consumePrice;
	
	private String qrCode;
	
	private int isLimitCount;
	
	private Integer limitCount;
	
	private Integer isChain;
	
	private String chainId;
	
	public Date getValidStartTime() {
		return validStartTime;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getShopId() {
		return shopId;
	}

	public void setShopId(String shopId) {
		this.shopId = shopId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Integer getIsOpenRandom() {
		return isOpenRandom;
	}

	public void setIsOpenRandom(Integer isOpenRandom) {
		this.isOpenRandom = isOpenRandom;
	}

	public Double getPrice() {
		return price;
	}

	public void setPrice(Double price) {
		this.price = price;
	}

	public Double getStartPrice() {
		return startPrice;
	}

	public void setStartPrice(Double startPrice) {
		this.startPrice = startPrice;
	}

	public Double getEndPrice() {
		return endPrice;
	}

	public void setEndPrice(Double endPrice) {
		this.endPrice = endPrice;
	}

	public Double getDiscount() {
		return discount;
	}

	public void setDiscount(Double discount) {
		this.discount = discount;
	}

	public Integer getThreshold() {
		return threshold;
	}

	public void setThreshold(Integer threshold) {
		this.threshold = threshold;
	}

	public Double getFullPriceReduction() {
		return fullPriceReduction;
	}

	public void setFullPriceReduction(Double fullPriceReduction) {
		this.fullPriceReduction = fullPriceReduction;
	}

	public Integer getValidTimeState() {
		return validTimeState;
	}

	public void setValidTimeState(Integer validTimeState) {
		this.validTimeState = validTimeState;
	}

	public void setValidStartTime(Date validStartTime) {
		this.validStartTime = validStartTime;
	}

	public Date getValidEndTime() {
		return validEndTime;
	}

	public void setValidEndTime(Date validEndTime) {
		this.validEndTime = validEndTime;
	}

	public Integer getValidDays() {
		return validDays;
	}

	public void setValidDays(Integer validDays) {
		this.validDays = validDays;
	}

	public Integer getIsOpenRemind() {
		return isOpenRemind;
	}

	public void setIsOpenRemind(Integer isOpenRemind) {
		this.isOpenRemind = isOpenRemind;
	}

	public Date getUnderTime() {
		return underTime;
	}

	public void setUnderTime(Date underTime) {
		this.underTime = underTime;
	}

	public String getIntroduce() {
		return introduce;
	}

	public void setIntroduce(String introduce) {
		this.introduce = introduce;
	}

	public Integer getPlatform() {
		return platform;
	}

	public void setPlatform(Integer platform) {
		this.platform = platform;
	}

	public Integer getGrantType() {
		return grantType;
	}

	public void setGrantType(Integer grantType) {
		this.grantType = grantType;
	}

	public Double getConsumePrice() {
		return consumePrice;
	}

	public void setConsumePrice(Double consumePrice) {
		this.consumePrice = consumePrice;
	}

	public String getQrCode() {
		return qrCode;
	}

	public void setQrCode(String qrCode) {
		this.qrCode = qrCode;
	}

	public int getIsLimitCount() {
		return isLimitCount;
	}

	public void setIsLimitCount(int isLimitCount) {
		this.isLimitCount = isLimitCount;
	}

	public Integer getLimitCount() {
		return limitCount;
	}

	public void setLimitCount(Integer limitCount) {
		this.limitCount = limitCount;
	}

	public Integer getIsChain() {
		return isChain;
	}

	public void setIsChain(Integer isChain) {
		this.isChain = isChain;
	}

	public String getChainId() {
		return chainId;
	}

	public void setChainId(String chainId) {
		this.chainId = chainId;
	}
	
	
}
